package com.ruoyi.event.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.annotation.UserDrugInfo;
import com.ruoyi.common.annotation.UserMemberInfo;
import com.ruoyi.common.convert.ExcelDictConvert;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;


/**
 * 检测计划视图对象 event_jcjh
 *
 * @author strongme
 * @date 2023-02-04
 */
@Data
@ExcelIgnoreUnannotated
public class EventJcjhVo implements EventInfo {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @ExcelProperty(value = "id")
    private Long jcjhId;

    /**
     * 吸毒人员id
     */
    @ExcelProperty(value = "吸毒人员id")
    private Long userId;

    @UserDrugInfo
    public Object getUserInfo() {
        return userId;
    }

    @UserDrugInfo(onlyName = false)
    public Object getUserInfoDetail() {
        return userId;
    }

    /**
     * 代检测工作人员ID
     */
    private Long memberId;

    @UserMemberInfo
    public Object getMemberInfo() {
        return memberId;
    }

    /**
     * 检测人
     */
    @ExcelProperty(value = "检测人")
    private String jcr;

    /**
     * 检测类型
     */
    @ExcelProperty(value = "检测类型", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "jclx")
    private String jclx;

    /**
     * 检测方式
     */
    @ExcelProperty(value = "检测方式", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "jcfs")
    private String jcfs;

    /**
     * 检测日期
     */
    @ExcelProperty(value = "检测日期")
    private Date jcrq;

    /**
     * 检测周期
     */
    private String cycleRange;

    /**
     * 检测结果
     */
    @ExcelProperty(value = "检测结果", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "jcjg")
    private String jcjg;

    /**
     * 检测地点
     */
    @ExcelProperty(value = "检测地点")
    private String jcdd;

    /**
     * 检测报告
     */
    @ExcelProperty(value = "检测报告")
    private String jcbg;

    /**
     * 视频上传
     */
    @ExcelProperty(value = "视频上传")
    private String sp;

    /**
     * 附件
     */
    @ExcelProperty(value = "附件")
    private String fj;

    /**
     * 纬度
     */
    @ExcelProperty(value = "纬度")
    private BigDecimal lat;

    /**
     * 经度
     */
    @ExcelProperty(value = "经度")
    private BigDecimal lng;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;

    /**
     * 审核状态
     */
    @ExcelProperty(value = "审核状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "shzt")
    private String status;

    @ExcelProperty(value = "审批人")
    private Long spr;

    @UserMemberInfo
    public Object getSprInfo() {
        return spr;
    }

    private Date createTime;

    private Date updateTime;


    @Override
    public Long getId() {
        return jcjhId;
    }

    @Override
    public String getText() {
        return jcdd;
    }

    @Override
    public String getTime() {
        return cycleRange;
    }

}
